/*
 * i2c_management.h
 *
 *  Created on: 2024 Jun 27
 *      Author: simeonidi03
 */
#include"motor_control.h"
#include"mg90s.h"



//#define REG_WHY_IAM      0x00
//#define REG_HEARTBEAT    0x01
#define REG_SERVO0          0x02
#define REG_SERVO1          0x03
#define REG_MOTOR_MODE      0x04
#define REG_ENGINE_PARAM    0x05
#define REG_PARROT_A        0x06
#define REG_PARROT_B        0x07
#define REG_CURR_PARROT_A   0x0C //текущие значения оборотов за время timePID (2 байта)
#define REG_CURR_PARROT_B   0x0E
#define REG_RESET_ALL_MOTOR  0x10
#define REG_BEEP      0x11 //количество бип бип
#define REG_ADC_VOLTAGE    0x12 //значение АЦП по напряжению батареи
#define REG_TAG_LOW_VOLTAGE  0x13 //признак, что напряжение ниже критического порога
#define REG_PWM_DEAD_ZONE  0x14 //мертвая зона ШИМ, ниже которой значение будет всегда 0
#define REG_RESET      0x15 //сброс по вачдог таймеру
//#define LED_STRIP_ALL_LED_CNST_RG  0x16 //обычный режим работы светодиодов (все включены)
//#define LED_STRIP_2_COLOURS_BLINK_RG 0x17  //режим работы при котором попеременно мигают два цвета
//#define LED_STRIP_3_COLOURS_BLINK_RG 0x18  //режим работы при котором попеременно мигают три цвета
//#define LED_STRIP_4_COLOURS_BLINK_RG 0x19  				//режим работы при котором попеременно мигают 4 цвета
//#define LED_STRIP_SINGLE_LED_COLOUR_WITH_BRIGHT_RG 0x1A   //включаем один светодиод с возможностью задания яркости
//#define LED_STRIP_SINGLE_LED_COLOUR                0x1B 	//включаем один светодиод без возможности задания яркости
//#define LED_STRIP_SOME_LED						 0x1С	// включаем некоторые светодиоды (от ... до ...)
//#define LED_STRIP_SOME_LED_WITH_COLOURS 			 0x1D   // включаем некоторые светодиоды с яркостью
//#define LED_STRIP_WAVE_RG                          0x1E   //режим волны
//#define LED_STRIP_FIRST_LED						 0x1F   //выбор цвета первого светодиода
//#define LED_STRIP_SECOND_LED						 0x20   //выбор цвета второго светодиода
//#define LED_STRIP_THIRD_LED						 0x21   //выбор цвета третьего светодиода
//#define LED_STRIP_FOURTH_LED						 0x22   //выбор цвета четвертого светодиода
//#define LED_STRIP_RESERVED						 0x23
//#define LED_STRIP_RESERVED						 0x24
//#define LED_STRIP_RESERVED						 0x25

extern enum motor_mode mtr_mode;
extern void* work_param_ptr;

#define TIMER3_PERIOD 25499

#ifndef INCLUDE_I2C_MANAGEMENT_H_
#define INCLUDE_I2C_MANAGEMENT_H_




void i2c_command_handler(uint8_t* array);

#endif /* INCLUDE_I2C_MANAGEMENT_H_ */
